package br.edu.ufc.deti.broker.persistencia;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;

import br.edu.ufc.deti.beans.Autenticacao;
import br.edu.ufc.deti.beans.Recurso;

public class PrsAutorizacao {

	private static PrsAutorizacao instance;
	
	public static synchronized PrsAutorizacao getInstance(){
		if( instance == null )
			instance = new PrsAutorizacao();
		return instance;
	}
	
	public List<Recurso> getRecursosUsuario( Statement stmt, Autenticacao autenticacao ) {
		List<Recurso> recursos = new ArrayList<Recurso>();
		ResultSet rs;
		try {
			int id_usuario = autenticacao.getID();
			
			String query = "SELECT recurso.nome, recurso.ip, recurso.host " +
							"FROM recurso, recurso_usuario " +
							"where id_usuario = "+id_usuario+" "+
							"and recurso.id = recurso_usuario.id_recurso";

			rs = stmt.executeQuery(query);
			while (rs.next()) {
				Recurso recurso = new Recurso();
				recurso.setNomeRecurso(rs.getString("nome"));
				recurso.setIpRecurso(rs.getString("ip"));
				recurso.setHostRecurso(rs.getString("host"));
				recursos.add(recurso);
				recurso = null;
			}
			rs.close();
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return recursos;
	}
}
